package c04.monitor;

import lombok.extern.slf4j.Slf4j;

/**
 * 面试题：线程八锁
 * 结果：两种情况
 * 1) 1 2
 * 2) 2 1
 * 由于线程1先启动，所以出现 1 2 的情况比较多，很少会出现 2 1，但是有这种可能。
 */
@Slf4j(topic = "c.Thread8Lock1")
public class Thread8Lock1 {
    static class Number {
        public synchronized void a() {
            log.debug("1");
        }

        public synchronized void b() {
            log.debug("2");
        }
    }

    public static void main(String[] args) {
        Number n1 = new Number();

        new Thread(() -> {
            log.debug("begin");
            n1.a();
        }, "t1").start();

        new Thread(() -> {
            log.debug("begin");
            n1.b();
        }, "t2").start();
    }
}
